import BaseEnum from '@/core/utils/BaseEnum'
import BaseEnumValue from '@/core/utils/BaseEnumValue'

class Oauth2RegisteredClientClientAuthenticationMethodsEnum extends BaseEnum<string> {
	CLIENT_SECRET_BASIC = new BaseEnumValue<string>('client_secret_basic', 'basic认证方式')
	CLIENT_SECRET_POST = new BaseEnumValue<string>('client_secret_post', 'post认证方式')
	CLIENT_SECRET_JWT = new BaseEnumValue<string>('client_secret_jwt', '客户端密钥jwt')
	PRIVATE_KEY_JWT = new BaseEnumValue<string>('private_key_jwt', '私有key jwt')
	NONE = new BaseEnumValue<string>('none', '空')
	constructor() {
		super(['CLIENT_SECRET_BASIC', 'CLIENT_SECRET_POST', 'CLIENT_SECRET_JWT', 'PRIVATE_KEY_JWT', 'NONE'])
	}
}

const enumModel = new Oauth2RegisteredClientClientAuthenticationMethodsEnum()

export default enumModel
